ecc40d558f9e09a1826c4145af2be13074783a1c,src/freenet/support/transport/ip/IPAddressDetector.java,IPAddressDetector,onGetAddresses,#Vector#,166
Before Change
* @param v Vector of InetAddresses
*/
protected void onGetAddresses(Vector v) {
Vector output = new Vector();
boolean logDEBUG = Logger.shouldLog(Logger.DEBUG, this);
if (logDEBUG)
Logger.debug(
this,
"onGetAddresses found " + v.size() + " potential addresses)");
if (v.size() == 0) {
Logger.error(this, "No addresses found!");
lastAddressList = null;
return;
} else {
// InetAddress lastNonValidAddress = null;
for (int x = 0; x < v.size(); x++) {
if (v.elementAt(x) != null) {
InetAddress i = (InetAddress) (v.elementAt(x));
if (logDEBUG)
Logger.debug(
this,
"Address " + x + ": " + i);
if(i.isAnyLocalAddress()) {
// Wildcard address, 0.0.0.0, ignore.
} else if(i.isLinkLocalAddress() || i.isLoopbackAddress() ||
i.isSiteLocalAddress()) {
// Will be filtered out later if necessary.
output.add(i);
} else if(i.isMulticastAddress()) {
// Ignore
} else {
// Ignore ISATAP addresses
// @see http://archives.freenetproject.org/message/20071129.220955.ac2a2a36.en.html
if(!AddressIdentifier.isAnISATAPIPv6Address(i.toString()))
output.add(i);
}
}
}
}
lastAddressList = (InetAddress[]) output.toArray(new InetAddress[output.size()]);
}
public void run() {
After Change
* Vector of InetAddresses
*/
protected void onGetAddresses(List<InetAddress> addrs) {
List<InetAddress> output = new ArrayList<InetAddress>();
boolean logDEBUG = Logger.shouldLog(Logger.DEBUG, this);
if (logDEBUG)
Logger.debug(
this,
"onGetAddresses found " + addrs.size() + " potential addresses)");
if (addrs.size() == 0) {
Logger.error(this, "No addresses found!");
lastAddressList = null;
return;
} else {
// InetAddress lastNonValidAddress = null;
for (int x = 0; x < addrs.size(); x++) {
if (addrs.get(x) != null) {
InetAddress i = addrs.get(x);
if (logDEBUG)
Logger.debug(
this,
"Address " + x + ": " + i);
if(i.isAnyLocalAddress()) {
// Wildcard address, 0.0.0.0, ignore.
} else if(i.isLinkLocalAddress() || i.isLoopbackAddress() ||
i.isSiteLocalAddress()) {
// Will be filtered out later if necessary.
output.add(i);
} else if(i.isMulticastAddress()) {
// Ignore
} else {
// Ignore ISATAP addresses
// @see http://archives.freenetproject.org/message/20071129.220955.ac2a2a36.en.html
if(!AddressIdentifier.isAnISATAPIPv6Address(i.toString()))
output.add(i);
}
}
}
}
lastAddressList = output.toArray(new InetAddress[output.size()]);
}
public void run() {